package xin.marcher.module.lifecycle.converter;

/**
 *
 */

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.mapstruct.Mapper;
import xin.marcher.module.common.core.PageResult;
import xin.marcher.module.lifecycle.domain.dto.CategoryExpriWhiteDTO;
import xin.marcher.module.lifecycle.domain.entity.CategoryExpriWhiteDO;
import xin.marcher.module.lifecycle.domain.request.CategoryExpriWhiteRequest;

import java.util.List;

/**
 * 考核白名单相关对象克隆
 */
@Mapper(componentModel = "spring")
public interface CategoryExpriWhiteConverter {
    /**
     * 转换request 为 DO
     *
     * @param request
     * @return
     */
    CategoryExpriWhiteDO requestToEntity(CategoryExpriWhiteRequest request);

    /**
     * 转换DO 为 DTO
     *
     * @param selectOne
     * @return
     */
    CategoryExpriWhiteDTO entityToDTO(CategoryExpriWhiteDO selectOne);

    /**
     * 转换分页查询考核白名单DO 为 DTO
     *
     * @param pageResult
     * @return
     */
    PageResult<CategoryExpriWhiteDTO> converterPageResult(Page<CategoryExpriWhiteDO> pageResult);

    /**
     * 转换list DO 为 list DTO
     *
     * @param categoryExpriWhiteDOList
     * @return
     */
    List<CategoryExpriWhiteDTO> listEntityToDTO(List<CategoryExpriWhiteDO> categoryExpriWhiteDOList);
}
